package Queue;
import java.util.ArrayList;
import java.util.Random;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import View.GUI;
public class CustomerGenerator {
private ArrayList<Customer> clients = new ArrayList<Customer>();
ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
Random r = new Random();
private Runnable create = new Runnable() {
public void run() {
long arrival = GUI.getMinArrivalTime() + r.nextInt(GUI.getMaxArrivalTime() - GUI.getMinArrivalTime());
int service = GUI.getMinServiceTime() + r.nextInt(GUI.getMaxServiceTime() - GUI.getMinServiceTime());
Customer c = new Customer(clients.size(), arrival, service);
c.setArrivalTime(arrival);
c.setServiceTime(service);
clients.add(c);
}
};
public CustomerGenerator() {
for (int i = 0; i < 100; i++)
executor.execute(create);
}
public Customer getIndex(int index) {
return clients.get(index);
}
}